<?php
if (isset($_POST['PRSVDC'])) {

    $qr_OBJ = $_POST['OBJCTDC'];
    $GetTypeProperties = $GLOBALS['MYT']->db_array("SELECT tdc_Validacion FROM hd_documentostipos WHERE tdc_Id = {$_POST['dtd_Tipos']}");

    $ACFi1 = $_POST['OBJCTCL'];
    $ACFi2 = $_POST['dtd_Tipos'];
    $ACFi3 = $_POST['dtd_Numero'];
    $ACFi4 = preg_replace('^/[0-9]/-^', '', str_replace('/', '-', $_POST['dtd_FechaEmision']));
    if ($GetTypeProperties[1]['tdc_Validacion'] == 1) {
        $ACFi5 = preg_replace('^/[0-9]/-^', '', str_replace('/', '-', $_POST['dtd_FechaCaducidad']));
    }
    if (isset($_FILES['dtd_CopiaDoc'])) {
        $ACFi6 = $_FILES['dtd_CopiaDoc'];
    } else {
        $ACFi6 = 0;
    }
    $ACFi7 = $_POST['dtd_Emisor'];
    $ACFi8 = $sysTime;
    $ACFi9 = $_SESSION[$SESSID];
    $ACFi10 = $_SESSION[$SESSOF];
    $ACFi11 = $_POST['dtd_Status'];
    $ACFi12 = $_POST['tdc_Validacion'];
    if ($ACFi4 == '') {
        $DCERROR = 'é necessário indicar uma data de emissÃo.';
    } else {
        $vACFi4 = preg_split('/-/', $ACFi4);
        if (count($vACFi4) < 3 || checkdate($vACFi4[1], $vACFi4[2], $vACFi4[0]) == false && checkdate($vACFi4[1], $vACFi4[0], $vACFi4[2]) == false) {
            $DCERROR = 'é necessário indicar uma data de emissÃo válida.';
        } else {
            if (checkdate($vACFi4[1], $vACFi4[2], $vACFi4[0]) == false && checkdate($vACFi4[1], $vACFi4[0], $vACFi4[2]) == true) {
                $ACFi4 = $vACFi4[2] . '-' . $vACFi4[1] . '-' . $vACFi4[0];
            }
        }
    }
    if (!isset($ACFi5)) {
        $ACFi5 = 'null';
    } elseif ($ACFi5 == '') {
        $DCVal = $GLOBALS['MYT']->db_array("SELECT tdc_Validade FROM hd_documentostipos WHERE tdc_Id = {$ACFi2}");
        $DCALERT = "A prazo de validade pré-defenido para este tipo de documento é de {$DCVal[1]['tdc_Validade']} anos.";

        $ACFi5 = $ACFi4 + $DCVal[1]['tdc_Validade'];
        $ACFi5 = "'" . $ACFi5 . "'";
    } else {
        $vACFi5 = preg_split('/-/', $ACFi5);
        if (count($vACFi5) < 3 || checkdate($vACFi5[1], $vACFi5[2], $vACFi5[0]) == false && checkdate($vACFi5[1], $vACFi5[0], $vACFi5[2]) == false) {
            $DCERROR = 'é necessário indicar uma data de validade válida.';
        } else {
            if (checkdate($vACFi5[1], $vACFi5[2], $vACFi5[0]) == false && checkdate($vACFi5[1], $vACFi5[0], $vACFi5[2]) == true) {
                $ACFi5 = $vACFi5[2] . '-' . $vACFi5[1] . '-' . $vACFi5[0];
            }
        }
        $ACFi5 = "'" . $ACFi5 . "'";
    }
    if ($ACFi6 != 0) {
        if ($qr_OBJ == 0) {
            $DCID = $GLOBALS['MYT']->db_array("SELECT dtd_ID FROM hd_documentos ORDER BY dtd_ID DESC LIMIT 0,1");
            if (isset($DCID[1]['dtd_ID'])) {
                $DCID = $DCID[1]['dtd_ID'] + 1;
            } else {
                $DCID = 1;
            }
        }
        require_once($GLOBALS['BIB'] . "Objects/obj.files.mex");

        $Prefix = md5($DCID);
        $dir = $GLOBALS['DOC'] . 'PRFLDOCS/' . $ACFi1 . '/';
        if (!file_exists($dir)) {
            mkdir($dir);
        }
        fileimport($ACFi6, '', $Prefix, $dir);
        if (isset($FILESOK)) {
            $ACFi6 = 1;
        }
    }
    if ($qr_OBJ == 0) {
        if (!isset($DCERROR)) {
            $CKDC = $GLOBALS['MYT']->db_array("SELECT
                                dtd_ID
                                        FROM hd_documentos
                                WHERE
                                        dtd_Cliente = {$ACFi1}
                                        AND dtd_Status = 2
                                        AND dtd_Tipo = {$ACFi2}");
            if (isset($CKDC[1]['dtd_ID'])) {
                $DCERROR = 'O documento ja existe.';
            }
        }
    }
    if (isset($DCERROR)) {
        echo '<div class="Error">' . $DCERROR . '</div>';
    } else {
        include($GLOBALS['BIB'] . 'Pr_db/pr_historics.mex');

        if ($qr_OBJ == 0) {

            $GLOBALS['MYT']->db_query("INSERT
                                INTO hd_documentos
                                (dtd_Cliente,
                                        dtd_Tipo,
                                        dtd_Numero,
                                        dtd_FechaEmision,
                                        dtd_FechaCaducidad,
                                        dtd_CopiaDoc,
                                        dtd_Emisor,
                                        dtd_Fecha,
                                        dtd_Usuario,
                                        DC_OFFICE)
                                VALUES
                                ({$ACFi1},{$ACFi2},'{$ACFi3}','{$ACFi4}',{$ACFi5},{$ACFi6},
                                '{$ACFi7}','{$ACFi8}',{$ACFi9},{$ACFi10})");
            $PRDC = $GLOBALS['MYT']->db_array("SELECT dtd_ID FROM hd_documentos WHERE dtd_Cliente = {$ACFi1} AND dtd_Fecha = '{$ACFi8}' AND dtd_Usuario = {$ACFi9} ORDER BY dtd_ID DESC LIMIT 0,1");
            system_hs($ACFi8, 'NEW_DOCUMENT', $PRDC[1]['dtd_ID']);
        } elseif ($qr_OBJ > 0) {

            if (strtotime(str_replace("'", "", $ACFi5)) > 1 && strtotime(str_replace("'", "", $ACFi5)) < strtotime(date("Y-m-d")) && $ACFi12 == 1) {
                $ACFi11 = 4;
            }
            if ($GLOBALS['MYT']->db_query("UPDATE
                                hd_documentos
                                SET
                                        dtd_Cliente = {$ACFi1},
                                        dtd_Tipo = {$ACFi2},
                                        dtd_Numero = '{$ACFi3}',
                                        dtd_FechaEmision = '{$ACFi4}',
                                        dtd_FechaCaducidad = {$ACFi5},
                                        dtd_Emisor = '{$ACFi7}',
                                        dtd_Usuario = {$ACFi9},
                                        DC_OFFICE = {$ACFi10},
                                        dtd_Status = {$ACFi11}
                                WHERE dtd_ID = {$qr_OBJ}") == true) {
                hs_document($qr_OBJ, $sysTime);
            }
        }
        echo '<script charset="utf-8" type="text/javascript">
                                document.getElementById(\'NWDC\').innerHTML=\'\';
                                document.ClientProperties.action=\'_response/call.php?get=Operative/view/viewsenderdocument\';
                                subform(\'ClientProperties\',\'MNDC\');</script>';
    }
}